package collectionday02exercise;

import java.util.*;

public class SortPoint {
    public static void main(String[] args) {
        List<Point> list = new ArrayList<>();
        list.add(new Point(53,635));
        list.add(new Point(22,63));
        list.add(new Point(68,71));
        list.add(new Point(8,35));
        list.add(new Point(100,615));
        list.add(new Point(65,8774));

        System.out.println(list);
        System.out.println("--------------");
        Iterator<Point> it = list.iterator();
        while (it.hasNext()){
            System.out.println(it.next());
        }
        System.out.println("---------------");
        for (Point p: list
             ) {
            System.out.println(p);
        }

        Collections.sort(list, new Comparator<Point>() {
            public int compare(Point o1, Point o2) {
                int len1 = o1.getX()*o1.getX()+o1.getY()*o1.getY();
                int len2 = o2.getX()*o2.getX()+o2.getY()*o2.getY();
                return len1 - len2;
            }
        });
        System.out.println(list);

        list.sort((o1, o2) ->{
            int len1 = o1.getX()*o1.getX()+o1.getY()*o1.getY();
            int len2 = o2.getX()*o2.getX()+o2.getY()*o2.getY();
            return len1 - len2;
        } );
        System.out.println(list);
    }

}
